package o2o.service.delivery.to;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @author Jahnke【1029777564@qq.com】
 * @ClassName DeliveryOrderStateTO
 * @Description:
 * @date 2020/1/7 14:51
 * @Version 1.0
 */
@Data
@Accessors(chain = true)
public class DeliveryOrderStateTO {

    private String sysCustomer;     // 客户标识
    private String orderNo;
    private String plateform;       // 配送平台
    private String deliveryNo;      // 配送订单号

    private Double distance;        // 配送距离(单位：米)
    private Double fee;             // 实际运费(单位：元)，运费减去优惠券费用
    private Double deliverFee;      // 运费(单位：元)

    private String orderStatus;     // 配送单单状态  wait_accept:待接单 arrive_shop:到店  wait_fetch:待取货  delivering:配送中  done:已完成   cancel:已取消   out_time:已过期  exception:配送异常
    private String orderStatueMsg;  // 配送单状态说明
    private String cancelReason;    // 取消原因
    private String cancelFrom;      // 订单取消原因来源(1:达达配送员取消；2:商家主动取消；3:系统或客服取消；0:默认值)

    private String deliveryName;    // 配送员姓名
    private String deliveryPhone;   // 配送员联系方式
    private Double currDeliveLat;   // 配送员最近一次的显示位置
    private Double currDeliveLng;

    private String placeTime;       // 下发配送单时间
    private String acceptTime;      // 接单时间
    private String fetchTime;       // 取单时间
    private String finishTime;      // 完成时间
    private String cancelTime;      // 取消时间
    private String orderFinishCode; // 收获码
    private Double deductFee;       // 违约金
    private Integer state = 0;      // 状态  1-获取成功  2-错误
    private String error;           // 提示信息

    public String getOrderStatueMsg() {
        if (DeliveryOrderTO.orderStatusMap.containsKey(this.getOrderStatus())) {
            return DeliveryOrderTO.orderStatusMap.get(this.orderStatus);
        }
        return "未知状态";
    }

}
